home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Freaks Macintosh Archive
/
Freaks Macintosh Archive.bin
/
Freaks Macintosh Archives
/
Cracking
/
MSAccessDecrypt.sit.hqx
/
MS Access Decrypt.rsrc
/
TEXT_128.txt
< prev
Wrap
Text File
|
1999-04-08
|
2KB
|
67 lines
/*
* "Decrypt" Microsoft Access 97 Database Passwords
*
* Nate Lawson <nate@root.org>
* 2/9/99
*
* XOR sequence taken from a post by Adam Shosthack <adam@homeport.org>
* Access 97 actually allows a user to enter a 14 char password, although
* only the first 13 chars are stored and verified.
*/
#ifdef WIN32
#include <windows.h>
#endif
#include <stdio.h>
#include <iostream.h>
#include <string.h>
int main ()
{
FILE *fp;
int i;
char filename[256];
unsigned char passBuf[14], xorString[] = { 0x86, 0xFB, 0xEC, 0x37,
0x5D, 0x44, 0x9C, 0xFA, 0xC6, 0x5E, 0x28, 0xE6, 0x13 };
printf("The K-r33t MS Access PW Decoder, For MACOS! HELLA COOL!\n");
printf("I spent about 10 minutes on this.. so the shareware fee is $20000\n");
printf("Pay Up, Or YOU SUCK! =D\n\n");
printf("Original Code By Nate Lawson <nate@root.org>\n");
printf("MacOS Port, By Drop Dead Bacon.\n");
printf("hotline://raid3d.dhs.org, e-mail: poot@mac-addict.com\n");
printf("irc.slacknet.org, #hackintosh\n");
printf("full source in TEXT Resource ID 128.\n");
printf("\nInput the path of the access file (MyGaynessHD:Folder 1:M$ Sucks A Nut.mdb)\n:");
cin.getline(filename, 256);
if (strlen(filename) < 2) {
fprintf(stderr, "invalid filename: %s\n", filename);
return 1;
}
/* Open file, read password into buffer */
if ((fp = fopen(filename, "rb")) == NULL) {
fprintf(stderr, "Unable to open %s\n", filename);
return 1;
}
if ((fseek(fp, 0x42, SEEK_SET)) < 0) {
fprintf(stderr, "Unable to seek. File truncated?\n");
return 1;
}
if ((fread(passBuf, sizeof(passBuf) - 1, 1, fp)) < 0) {
fprintf(stderr, "Cannot read file: %s\n", filename);
return 1;
}
/* Unmask password and print out results */
for (i = 0; i < sizeof(passBuf) - 1; i++)
passBuf[i] ^= xorString[i];
passBuf[sizeof(passBuf) - 1] = '\0';
printf("Password is:\n %s (ascii)\n ", passBuf);
for (i = 0; i < sizeof(passBuf) - 1; i++)
printf("0x%x ", passBuf[i]);
printf("(hex)\n");
return 0;
}